$(function () {

  //可全选
  //选中值数组
  let checkValue = []
  //复选框
  let checkList = $("div[name='check']")
  //复选框数量(-1去除全选)
  let checkLength = checkList.length - 1

  checkList.click(function() {
    if($(this).attr('data-value') == 'all') {
      //全选按钮
      let value = $(this).attr('data-checked')
      checkValue.splice(0)
      if(value == 'true') {
        //取消全选
        $(this).attr('data-checked','false')
        $(this).children('span').attr('class','z-checkbox-btn')
        checkList.each(function() {
          if($(this).attr('data-value') == 'all' || $(this).attr('disabled')) {
            return
          }
          $(this).attr('data-checked', false)
          $(this).children('span').removeClass("checked")
        });
      }else{
        //设置全选
        $(this).attr('data-checked','true')
        $(this).children('span').attr('class','z-checkbox-btn checked')
        checkList.each(function() {
          if($(this).attr('data-value') == 'all' || $(this).attr('disabled')) {
            return
          }
          $(this).attr('data-checked', true)
          $(this).children('span').addClass("checked")
          checkValue.push($(this).attr('data-value'))
        });
      }
    }else {
      //非全选按钮
      if($(this).attr('disabled')) {
        return
      }
      let checked = !JSON.parse($(this).attr('data-checked'))
      $(this).attr('data-checked', checked)
      let value = $(this).attr('data-value')
      if(checked) {
        checkValue.push(value)
        $(this).children('span').addClass("checked")
      }else {
        checkValue.splice(checkValue.findIndex((item)=> {
          return item == value
        }),1)
        $(this).children('span').removeClass("checked")
      }
      //设置全选按钮状态
      if(checkValue.length == checkLength) {
        $("div[name='check'][data-value='all'] > span").attr('class','z-checkbox-btn checked')
        $("div[name='check'][data-value='all']").attr('data-checked','true')
      }else if(checkValue.length == 0) {
        $("div[name='check'][data-value='all'] > span").attr('class','z-checkbox-btn')
        $("div[name='check'][data-value='all']").attr('data-checked','false')
      }else {
        $("div[name='check'][data-value='all'] > span").attr('class','z-checkbox-btn half-checked')
        $("div[name='check'][data-value='all']").attr('data-checked','half')
      }
    }
    console.log(checkValue)
  })

  //不带全选
  //选中值数组
  let checkValue1 = []
  //复选框
  let checkList1 = $("div[name='check1']")

  checkList1.click(function() {
    //非全选按钮
    let checked = !JSON.parse($(this).attr('data-checked'))
    $(this).attr('data-checked', checked)
    let value = $(this).attr('data-value')
    if(checked) {
      checkValue1.push(value)
      $(this).children('span').addClass("checked")
    }else {
      checkValue1.splice(checkValue1.findIndex((item)=> {
        return item == value
      }),1)
      $(this).children('span').removeClass("checked")
    }
    console.log(checkValue1)
  })
})